DigiOffice Gateway Web Services

<back to all web services

ProcessProjectRequestMessage

Requires Authentication
import Foundation
import ServiceStack

public class ProcessProjectRequestMessage : Codable
{
    public var instanceId:String
    public var projectRequest:ProjectRequestMessage

    required public init(){}
}

public class ProjectRequestMessage : Codable
{
    public var header:Header
    public var projectReference:Reference
    public var includeHousingTypes:Bool
    public var includeConstructionBlocks:Bool
    public var includeConstructionNumbers:Bool
    public var includeDocuments:Bool
    public var includePurchaseContracts:Bool

    required public init(){}
}

public class Header : Codable
{
    public var messageID:String
    public var timestamp:Date
    public var sender:Party
    public var recipient:Party
    //requestMessageID:Object ignored. Type could not be extended in Swift

    required public init(){}
}

public class Party : Codable
{
    public var title:String
    public var code:String
    public var version:String
    public var environment:Environment

    required public init(){}
}

public class Environment : Codable
{
    public var title:String
    public var code:String

    required public init(){}
}

public class Reference : Codable
{
    public var globalID:String
    public var title:String

    required public init(){}
}

public class ProjectResponseMessage : Codable
{
    public var header:Header
    public var projectReference:Reference
    public var project:Project
    public var housingTypes:[HousingType] = []
    public var constructionBlocks:[ConstructionBlock] = []
    public var constructionNumbers:[ConstructionNumber] = []
    public var documents:[Document] = []
    public var purchaseContracts:[PurchaseContract] = []

    required public init(){}
}

public class Project : Codable
{
    public var globalID:String
    public var creationDate:Date?
    public var createdBy:String
    public var modifiedDate:Date?
    public var modifiedBy:String
    public var code:String
    public var name:String
    public var description1:String
    public var description2:String
    public var address:Address
    public var mailingAddress:MailingAddress
    public var projectCategoryReference:Reference
    public var projectTypeReference:Reference
    public var projectStatusReference:Reference
    public var startDate:Date?
    public var endDate:Date?
    public var completionDate:Date?
    public var inactive:Bool
    public var website:String
    public var isTemplateProject:Bool
    public var customFields:[CustomField] = []

    required public init(){}
}

public class Address : Codable
{
    public var addressLine1:String
    public var addressLine2:String
    public var houseNumber:String
    public var houseNumberSuffix:String
    public var postalCode:String
    public var city:String
    public var country:Reference

    required public init(){}
}

public class MailingAddress : Codable
{
    public var poBox:String
    public var postalCode:String
    public var city:String
    public var country:Reference

    required public init(){}
}

public class CustomField : Codable
{
    public var name:String
    public var value:String

    required public init(){}
}

public class HousingType : Codable
{
    public var globalID:String
    public var projectReference:Reference
    public var code:String
    public var Description:String
    public var customFields:[CustomField] = []
    public var creationDate:Date?
    public var createdBy:String
    public var modifiedDate:Date?
    public var modifiedBy:String

    required public init(){}
}

public class ConstructionBlock : Codable
{
    public var globalID:String
    public var projectReference:Reference
    public var code:String
    public var Description:String
    public var customFields:[CustomField] = []
    public var creationDate:Date?
    public var createdBy:String
    public var modifiedDate:Date?
    public var modifiedBy:String

    required public init(){}
}

public class ConstructionNumber : Codable
{
    public var globalID:String
    public var projectReference:Reference
    public var housingTypeReference:Reference
    public var constructionBlockReference:Reference
    public var code:String
    public var Description:String
    public var address:Address
    public var rentalHouse:Bool
    public var guaranteeCertificateNumber:String
    public var inactive:Bool
    public var customFields:[CustomField] = []
    public var creationDate:Date?
    public var createdBy:String
    public var modifiedDate:Date?
    public var modifiedBy:String
    public var viewingDate:Date?
    public var viewingDateSpecified:Bool
    public var deliveryDate:Date?
    public var deliveryDateSpecified:Bool

    required public init(){}
}

public class Document : ICustomProperties, Codable
{
    public var id:String
    public var rootDocumentID:String
    public var registrationprofileID:String
    public var title:String
    public var fullTitle:String
    public var number:String
    public var version:String
    public var externalNumber:String
    public var externalVersion:String
    public var internalNumber:String
    public var internalInvoiceNumber:String
    public var personID:Int
    public var relationID:Int
    public var relationTitle:String
    public var projectID:Int
    public var projectTitle:String
    public var `extension`:String
    public var date:Date?
    public var commentsCount:Int
    public var hasComments:Bool
    public var hasPreview:Bool
    public var extraField:String
    public var isFavorite:Bool
    public var documentcategoryText:String
    public var fileSize:Int?
    public var fileDate:Date?
    public var hash:String
    public var hashType:String
    public var fileUrl:String
    public var standardDocumentUrl:String
    public var isCorporateIdentity:Bool
    public var userTitle:String
    public var isFrozen:Bool
    public var internalCompanyID:Int
    public var directUrl:String
    public var allowDigitalSigningOnlyOnPrimaryVersions:Bool
    public var isPrimaryVersion:Bool
    public var fileExtension:String
    public var customProperties:[String:Object] = [:]

    required public init(){}
}

public class PurchaseContract : Codable
{
    public var globalID:String
    public var code:String
    public var Description:String
    public var projectReference:Reference
    public var productCode:String
    public var relation:Relation
    public var inactive:Bool
    public var customFields:[CustomField] = []
    public var creationDate:Date?
    public var createdBy:String
    public var modifiedDate:Date?
    public var modifiedBy:String

    required public init(){}
}

public class Relation : Codable
{
    public var globalID:String
    public var nameLine1:String
    public var nameLine2:String
    public var address:Address
    public var mailingAddress:MailingAddress
    public var telephone:String
    public var mobile:String
    public var email:String
    public var iban:String
    public var bankAccountNumber:String
    public var website:String
    public var inactive:Bool
    public var customFields:[CustomField] = []
    public var creationDate:Date?
    public var createdBy:String
    public var modifiedDate:Date?
    public var modifiedBy:String

    required public init(){}
}


Swift ProcessProjectRequestMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/ProcessProjectRequestMessage HTTP/1.1 
Host: kpm_digiofficeapigateway.tbi.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ProcessProjectRequestMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
  <InstanceId>00000000-0000-0000-0000-000000000000</InstanceId>
  <ProjectRequest>
    <Header>
      <MessageID>String</MessageID>
      <Recipient>
        <Code>String</Code>
        <Environment>
          <Code>String</Code>
          <Title>String</Title>
        </Environment>
        <Title>String</Title>
        <Version>String</Version>
      </Recipient>
      <RequestMessageID />
      <Sender>
        <Code>String</Code>
        <Environment>
          <Code>String</Code>
          <Title>String</Title>
        </Environment>
        <Title>String</Title>
        <Version>String</Version>
      </Sender>
      <Timestamp>0001-01-01T00:00:00</Timestamp>
    </Header>
    <IncludeConstructionBlocks>false</IncludeConstructionBlocks>
    <IncludeConstructionNumbers>false</IncludeConstructionNumbers>
    <IncludeDocuments>false</IncludeDocuments>
    <IncludeHousingTypes>false</IncludeHousingTypes>
    <IncludePurchaseContracts>false</IncludePurchaseContracts>
    <ProjectReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectReference>
  </ProjectRequest>
</ProcessProjectRequestMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ProjectResponseMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
  <ConstructionBlocks>
    <ConstructionBlock>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
    </ConstructionBlock>
  </ConstructionBlocks>
  <ConstructionNumbers>
    <ConstructionNumber>
      <Address>
        <AddressLine1>String</AddressLine1>
        <AddressLine2>String</AddressLine2>
        <City>String</City>
        <Country>
          <GlobalID>String</GlobalID>
          <Title>String</Title>
        </Country>
        <HouseNumber>String</HouseNumber>
        <HouseNumberSuffix>String</HouseNumberSuffix>
        <PostalCode>String</PostalCode>
      </Address>
      <Code>String</Code>
      <ConstructionBlockReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionBlockReference>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
      <DeliveryDateSpecified>false</DeliveryDateSpecified>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <GuaranteeCertificateNumber>String</GuaranteeCertificateNumber>
      <HousingTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </HousingTypeReference>
      <Inactive>false</Inactive>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <RentalHouse>false</RentalHouse>
      <ViewingDate>0001-01-01T00:00:00</ViewingDate>
      <ViewingDateSpecified>false</ViewingDateSpecified>
    </ConstructionNumber>
  </ConstructionNumbers>
  <Documents>
    <Document>
      <Code>String</Code>
      <ConstructionBlockReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionBlockReference>
      <ConstructionNumberReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionNumberReference>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <DeletedDate>0001-01-01T00:00:00</DeletedDate>
      <DeletedDateSpecified>false</DeletedDateSpecified>
      <DocumentTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </DocumentTypeReference>
      <File>
        <Content>String</Content>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <Name>String</Name>
        <Size>0</Size>
        <Type>String</Type>
      </File>
      <Floor>0</Floor>
      <FloorSpecified>false</FloorSpecified>
      <GlobalID>String</GlobalID>
      <HousingTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </HousingTypeReference>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <NewestVersion>false</NewestVersion>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <RelationReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </RelationReference>
      <RootDocumentID>String</RootDocumentID>
      <Subject>String</Subject>
      <VersionNumber>String</VersionNumber>
    </Document>
  </Documents>
  <Header>
    <MessageID>String</MessageID>
    <Recipient>
      <Code>String</Code>
      <Environment>
        <Code>String</Code>
        <Title>String</Title>
      </Environment>
      <Title>String</Title>
      <Version>String</Version>
    </Recipient>
    <RequestMessageID />
    <Sender>
      <Code>String</Code>
      <Environment>
        <Code>String</Code>
        <Title>String</Title>
      </Environment>
      <Title>String</Title>
      <Version>String</Version>
    </Sender>
    <Timestamp>0001-01-01T00:00:00</Timestamp>
  </Header>
  <HousingTypes>
    <HousingType>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
    </HousingType>
  </HousingTypes>
  <Project>
    <Address>
      <AddressLine1>String</AddressLine1>
      <AddressLine2>String</AddressLine2>
      <City>String</City>
      <Country>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </Country>
      <HouseNumber>String</HouseNumber>
      <HouseNumberSuffix>String</HouseNumberSuffix>
      <PostalCode>String</PostalCode>
    </Address>
    <Code>String</Code>
    <CompletionDate>0001-01-01T00:00:00</CompletionDate>
    <CreatedBy>String</CreatedBy>
    <CreationDate>0001-01-01T00:00:00</CreationDate>
    <CustomFields>
      <CustomField>
        <Name>String</Name>
        <Value>String</Value>
      </CustomField>
    </CustomFields>
    <Description1>String</Description1>
    <Description2>String</Description2>
    <EndDate>0001-01-01T00:00:00</EndDate>
    <GlobalID>String</GlobalID>
    <Inactive>false</Inactive>
    <IsTemplateProject>false</IsTemplateProject>
    <MailingAddress>
      <City>String</City>
      <Country>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </Country>
      <POBox>String</POBox>
      <PostalCode>String</PostalCode>
    </MailingAddress>
    <ModifiedBy>String</ModifiedBy>
    <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
    <Name>String</Name>
    <ProjectCategoryReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectCategoryReference>
    <ProjectStatusReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectStatusReference>
    <ProjectTypeReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectTypeReference>
    <StartDate>0001-01-01T00:00:00</StartDate>
    <Website>String</Website>
  </Project>
  <ProjectReference>
    <GlobalID>String</GlobalID>
    <Title>String</Title>
  </ProjectReference>
  <PurchaseContracts>
    <PurchaseContract>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <Inactive>false</Inactive>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProductCode>String</ProductCode>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <Relation>
        <Address>
          <AddressLine1>String</AddressLine1>
          <AddressLine2>String</AddressLine2>
          <City>String</City>
          <Country>
            <GlobalID>String</GlobalID>
            <Title>String</Title>
          </Country>
          <HouseNumber>String</HouseNumber>
          <HouseNumberSuffix>String</HouseNumberSuffix>
          <PostalCode>String</PostalCode>
        </Address>
        <BankAccountNumber>String</BankAccountNumber>
        <CreatedBy>String</CreatedBy>
        <CreationDate>0001-01-01T00:00:00</CreationDate>
        <CustomFields>
          <CustomField>
            <Name>String</Name>
            <Value>String</Value>
          </CustomField>
        </CustomFields>
        <Email>String</Email>
        <GlobalID>String</GlobalID>
        <IBAN>String</IBAN>
        <Inactive>false</Inactive>
        <MailingAddress>
          <City>String</City>
          <Country>
            <GlobalID>String</GlobalID>
            <Title>String</Title>
          </Country>
          <POBox>String</POBox>
          <PostalCode>String</PostalCode>
        </MailingAddress>
        <Mobile>String</Mobile>
        <ModifiedBy>String</ModifiedBy>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <NameLine1>String</NameLine1>
        <NameLine2>String</NameLine2>
        <Telephone>String</Telephone>
        <Website>String</Website>
      </Relation>
    </PurchaseContract>
  </PurchaseContracts>
</ProjectResponseMessage>